#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import QToolBar, QAction
from PyQt5.QtGui import QIcon
import os

def create_main_toolbar(main_window):
    """
    创建主工具栏
    
    Args:
        main_window: 主窗口实例，工具栏将附加到该窗口
        
    Returns:
        QToolBar: 配置好的主工具栏
    """
    # 创建工具栏
    toolbar = QToolBar("工具栏", main_window)
    toolbar.setMovable(False)
    
    # 资源目录 - 可以用于图标等资源
    script_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # icons_dir = os.path.join(script_dir, "icons")
    
    # 打开文件动作
    open_action = QAction("打开", main_window)
    # 如果有图标可以设置: open_action.setIcon(QIcon(os.path.join(icons_dir, "open.png")))
    open_action.setStatusTip("打开海图文件")
    open_action.triggered.connect(main_window.open_file)
    toolbar.addAction(open_action)
    
    # 保存动作
    save_action = QAction("保存", main_window)
    save_action.setStatusTip("保存当前海图")
    # save_action.triggered.connect(main_window.save_file)  # 需要实现save_file方法
    toolbar.addAction(save_action)
    
    # 添加分隔线
    toolbar.addSeparator()
    
    # 放大动作
    zoom_in_action = QAction("放大", main_window)
    zoom_in_action.setStatusTip("放大视图")
    # zoom_in_action.triggered.connect(main_window.zoom_in)  # 需要实现zoom_in方法
    toolbar.addAction(zoom_in_action)
    
    # 缩小动作
    zoom_out_action = QAction("缩小", main_window)
    zoom_out_action.setStatusTip("缩小视图")
    # zoom_out_action.triggered.connect(main_window.zoom_out)  # 需要实现zoom_out方法
    toolbar.addAction(zoom_out_action)
    
    # 全屏动作
    fullscreen_action = QAction("全屏", main_window)
    fullscreen_action.setCheckable(True)
    fullscreen_action.setStatusTip("切换全屏模式")
    # fullscreen_action.triggered.connect(main_window.toggle_fullscreen)  # 需要实现toggle_fullscreen方法
    toolbar.addAction(fullscreen_action)
    
    # 添加分隔线
    toolbar.addSeparator()
    
    # 设置动作
    settings_action = QAction("设置", main_window)
    settings_action.setStatusTip("打开设置对话框")
    # settings_action.triggered.connect(main_window.open_settings)  # 需要实现open_settings方法
    toolbar.addAction(settings_action)
    
    return toolbar
